package cn.bytepulse.web.video.service;

import cn.bytepulse.pojo.AjaxResult;
import cn.bytepulse.web.video.entity.VideoParts;
import cn.bytepulse.web.video.entity.Videos;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author jiejiebiezheyang
 * @since 2025-03-21 11:00
 */
public interface VideoService {

    /**
     * 视频列表
     */
    AjaxResult list(String keyword);

    /**
     * 新增视频
     */
    AjaxResult add(Videos videos);

    /**
     * 删除视频
     */
    AjaxResult delete(Integer id) throws Exception;

    /**
     * 更新视频
     */
    AjaxResult update(Videos videos);

    /**
     * 视频信息
     */
    AjaxResult info(Integer id) throws Exception;

    /**
     * 上传视频封面文件
     */
    AjaxResult cover(MultipartFile file, Integer id) throws Exception;

    /**
     * 分集列表
     */
    AjaxResult parts(Integer id);

    /**
     * 删除剧集
     */
    AjaxResult deletePart(Integer id) throws Exception;

    /**
     * 添加剧集
     */
    AjaxResult addPart(VideoParts videoParts);

    /**
     * 剧集文件列表
     */
    AjaxResult partFiles(Integer id);

    /**
     * 删除剧集文件
     */
    AjaxResult partDeleteFile(Integer id, String filename) throws Exception;

    /**
     * 清空剧集文件
     */
    AjaxResult partClearFile(Integer id) throws Exception;

    /**
     * 上传剧集文件
     */
    AjaxResult partUploadFile(MultipartFile file, Integer id) throws Exception;
}
